package com.thwj.project.biz.domain;

    import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thwj.common.annotation.Excel;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

;

/**
 * 微信用户对象 biz_user
 *
 * @author generate
 * @date 2023-06-16
 */

@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("biz_user")
public class User extends Model<User>{
private static final long serialVersionUID=1L;

    /** 主键 */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** unionId */
            @Excel(name = "unionId")
    private String unionid;

    /** 小程序openid */
            @Excel(name = "小程序openid")
    private String miniOpenid;

    /** 昵称 */
            @Excel(name = "昵称")
    private String userNickName;

    /** 头像 */
            @Excel(name = "头像")
    private String userHeadPic;

    /** 头像列表(逗号隔开) */
            @Excel(name = "头像列表(逗号隔开)")
    private String picList;

    /** 性别(1:男 2：女) */
            @Excel(name = "性别(1:男 2：女)")
    private Integer gender;

    /** 生日 */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
            @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date birthday;

    /** 微信号 */
            @Excel(name = "微信号")
    private String wechat;

    /** 用户状态（1：正常 2：已禁用） */
            @Excel(name = "用户状态", readConverterExp = "1=：正常,2=：已禁用")
    private Integer status;

    /** 公众号openid */
            @Excel(name = "公众号openid")
    private String mpOpenid;

    /** 是否关注了公众号 */
            @Excel(name = "是否关注了公众号")
    private Boolean subscribeMp;

    /** 授权手机号 */
            @Excel(name = "授权手机号")
    private String phone;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;
    /** 个性签名 */
            @Excel(name = "个性签名")
    private String signature;

    /** 认证种类（  1：个人 2：组织 ） */
            @Excel(name = "认证种类", readConverterExp = "1=：个人,2=：组织")
    private Integer authenticationType;

    @Excel(name = "认证种类 职业")
    private String authenticationJobName;

    @Excel(name = "俱乐部名称")
    private String authenticationClubName;

    /** 是否是官方用户 */
            @Excel(name = "是否是官方用户")
    private Boolean officeUser;

    /** 创建时间 */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
            @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /** 修改时间 */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
            @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date modifyDate;




    @Override
    public Serializable pkVal() {
        return this.id;
    }
}
